﻿using Rougamo.APM;
using Rougamo.OpenTelemetry;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace RougamoService.Model
{
    public class ServiceV
    {
        [return: ApmIgnore]     // 返回值不记录
        [Otel] // 默认记录参数和返回值，需要通过ApmIgnoreAttribute来忽略不需要记录的参数或返回值
        public async Task<string> M1(
          [ApmIgnore] string uid, // 该参数不记录
          DateTime time)
        {
            // do something
            return string.Empty;
        }

        [PureOtel] // 默认不记录参数和返回值，需要通过ApmRecordAttribute来记录指定的参数或返回值
        public void M2(
            [ApmRecord] double d1,  // 记录该参数
                double d2)
        {
            // do something
        }

    }
}
